﻿using System;
using System.Collections.Generic;
using SharpSqlAnalyzer.nodes.hive;
using SharpSqlAnalyzer.nodes.teradata;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x020002AD RID: 685
	[CLSCompliant(true)]
	public class TCreateTableSqlNode : TParseTreeNode
	{
		// Token: 0x170004A7 RID: 1191
		// (get) Token: 0x060016E1 RID: 5857 RVA: 0x00327868 File Offset: 0x00325A68
		// (set) Token: 0x060016E2 RID: 5858 RVA: 0x00327870 File Offset: 0x00325A70
		public List<TCreateTableOption> TableOptions
		{
			get
			{
				return this._tableOptions;
			}
			set
			{
				this._tableOptions = value;
			}
		}

		// Token: 0x060016E3 RID: 5859 RVA: 0x00327879 File Offset: 0x00325A79
		public void setHiveTableProperties(THiveTableProperties p)
		{
			this.HiveTableProperties = p;
		}

		// Token: 0x060016E4 RID: 5860 RVA: 0x00327882 File Offset: 0x00325A82
		public void setTableLocation(TObjectName n)
		{
			this.TableLocation = n;
		}

		// Token: 0x060016E5 RID: 5861 RVA: 0x0032788B File Offset: 0x00325A8B
		public void setLikeTableName(TObjectName n)
		{
			this.LikeTableName = n;
		}

		// Token: 0x060016E6 RID: 5862 RVA: 0x00327894 File Offset: 0x00325A94
		public void setIfNotExists(bool b)
		{
			this.IfNotExists = b;
		}

		// Token: 0x060016E7 RID: 5863 RVA: 0x0032789D File Offset: 0x00325A9D
		public void setExternal(bool b)
		{
			this.External = b;
		}

		// Token: 0x060016E8 RID: 5864 RVA: 0x003278A6 File Offset: 0x00325AA6
		public void setExecuteSqlNode(TExecuteSqlNode n)
		{
			this.executeSqlNode = n;
		}

		// Token: 0x060016E9 RID: 5865 RVA: 0x003278AF File Offset: 0x00325AAF
		public void setColumnList(TObjectNameList onl)
		{
			this._columnList = onl;
		}

		// Token: 0x060016EA RID: 5866 RVA: 0x003278B8 File Offset: 0x00325AB8
		public void setSubQueryNode(TSelectSqlNode subquery)
		{
			this._subQueryNode = subquery;
		}

		// Token: 0x060016EB RID: 5867 RVA: 0x003278C1 File Offset: 0x00325AC1
		public void setHiveTableSkewed(THiveTableSkewed s)
		{
			this.HiveTableSkewed = s;
		}

		// Token: 0x060016EC RID: 5868 RVA: 0x003278CA File Offset: 0x00325ACA
		public void setHiveTableBuckets(THiveTableBuckets b)
		{
			this.HiveTableBuckets = b;
		}

		// Token: 0x060016ED RID: 5869 RVA: 0x003278D3 File Offset: 0x00325AD3
		public void setHiveTablePartition(THiveTablePartition p)
		{
			this.HiveTablePartition = p;
		}

		// Token: 0x060016EE RID: 5870 RVA: 0x003278DC File Offset: 0x00325ADC
		public void setTableComment(TObjectName n)
		{
			this.TableComment = n;
		}

		// Token: 0x060016EF RID: 5871 RVA: 0x003278E5 File Offset: 0x00325AE5
		public void setTableElementList(TTableElementList tel)
		{
			this._tableElementList = tel;
		}

		// Token: 0x170004A8 RID: 1192
		// (get) Token: 0x060016F0 RID: 5872 RVA: 0x003278EE File Offset: 0x00325AEE
		public virtual TTable AsTable
		{
			get
			{
				return this._asTable;
			}
		}

		// Token: 0x170004A9 RID: 1193
		// (set) Token: 0x060016F1 RID: 5873 RVA: 0x003278F6 File Offset: 0x00325AF6
		public virtual TObjectName AsTableName
		{
			set
			{
				this._asTable = new TTable();
				value.ObjectType = 3;
				this._asTable.TableName = value;
				this._asTable.TableType = ETableSource.objectname;
				this._asTable.EffectType = ETableEffectType.tetCreateAs;
			}
		}

		// Token: 0x170004AA RID: 1194
		// (get) Token: 0x060016F3 RID: 5875 RVA: 0x00327938 File Offset: 0x00325B38
		// (set) Token: 0x060016F2 RID: 5874 RVA: 0x0032792F File Offset: 0x00325B2F
		public virtual bool ExternalTable
		{
			get
			{
				return this._externalTable;
			}
			set
			{
				this._externalTable = value;
			}
		}

		// Token: 0x170004AB RID: 1195
		// (get) Token: 0x060016F5 RID: 5877 RVA: 0x00327949 File Offset: 0x00325B49
		// (set) Token: 0x060016F4 RID: 5876 RVA: 0x00327940 File Offset: 0x00325B40
		public virtual List<TIndexDefinition> IndexDefinitions
		{
			get
			{
				return this._indexDefinitions;
			}
			set
			{
				this._indexDefinitions = value;
			}
		}

		// Token: 0x170004AC RID: 1196
		// (get) Token: 0x060016F7 RID: 5879 RVA: 0x0032795A File Offset: 0x00325B5A
		// (set) Token: 0x060016F6 RID: 5878 RVA: 0x00327951 File Offset: 0x00325B51
		public virtual bool External
		{
			get
			{
				return this._external;
			}
			set
			{
				this._external = value;
			}
		}

		// Token: 0x170004AD RID: 1197
		// (get) Token: 0x060016F9 RID: 5881 RVA: 0x0032796B File Offset: 0x00325B6B
		// (set) Token: 0x060016F8 RID: 5880 RVA: 0x00327962 File Offset: 0x00325B62
		public virtual THiveRowFormat HiveRowFormat
		{
			get
			{
				return this._hiveRowFormat;
			}
			set
			{
				this._hiveRowFormat = value;
			}
		}

		// Token: 0x170004AE RID: 1198
		// (get) Token: 0x060016FB RID: 5883 RVA: 0x0032797C File Offset: 0x00325B7C
		// (set) Token: 0x060016FA RID: 5882 RVA: 0x00327973 File Offset: 0x00325B73
		public virtual THiveTableBuckets HiveTableBuckets
		{
			get
			{
				return this._hiveTableBuckets;
			}
			set
			{
				this._hiveTableBuckets = value;
			}
		}

		// Token: 0x170004AF RID: 1199
		// (get) Token: 0x060016FD RID: 5885 RVA: 0x0032798D File Offset: 0x00325B8D
		// (set) Token: 0x060016FC RID: 5884 RVA: 0x00327984 File Offset: 0x00325B84
		public virtual THiveTableFileFormat HiveTableFileFormat
		{
			get
			{
				return this._hiveTableFileFormat;
			}
			set
			{
				this._hiveTableFileFormat = value;
			}
		}

		// Token: 0x170004B0 RID: 1200
		// (get) Token: 0x060016FF RID: 5887 RVA: 0x0032799E File Offset: 0x00325B9E
		// (set) Token: 0x060016FE RID: 5886 RVA: 0x00327995 File Offset: 0x00325B95
		public virtual THiveTablePartition HiveTablePartition
		{
			get
			{
				return this._hiveTablePartition;
			}
			set
			{
				this._hiveTablePartition = value;
			}
		}

		// Token: 0x170004B1 RID: 1201
		// (get) Token: 0x06001701 RID: 5889 RVA: 0x003279AF File Offset: 0x00325BAF
		// (set) Token: 0x06001700 RID: 5888 RVA: 0x003279A6 File Offset: 0x00325BA6
		public virtual THiveTableProperties HiveTableProperties
		{
			get
			{
				return this._hiveTableProperties;
			}
			set
			{
				this._hiveTableProperties = value;
			}
		}

		// Token: 0x170004B2 RID: 1202
		// (get) Token: 0x06001703 RID: 5891 RVA: 0x003279C0 File Offset: 0x00325BC0
		// (set) Token: 0x06001702 RID: 5890 RVA: 0x003279B7 File Offset: 0x00325BB7
		public virtual THiveTableSkewed HiveTableSkewed
		{
			get
			{
				return this._hiveTableSkewed;
			}
			set
			{
				this._hiveTableSkewed = value;
			}
		}

		// Token: 0x170004B3 RID: 1203
		// (get) Token: 0x06001705 RID: 5893 RVA: 0x003279D1 File Offset: 0x00325BD1
		// (set) Token: 0x06001704 RID: 5892 RVA: 0x003279C8 File Offset: 0x00325BC8
		public virtual bool IfNotExists
		{
			get
			{
				return this._ifNotExists;
			}
			set
			{
				this._ifNotExists = value;
			}
		}

		// Token: 0x170004B4 RID: 1204
		// (get) Token: 0x06001707 RID: 5895 RVA: 0x003279E2 File Offset: 0x00325BE2
		// (set) Token: 0x06001706 RID: 5894 RVA: 0x003279D9 File Offset: 0x00325BD9
		public virtual TObjectName LikeTableName
		{
			get
			{
				return this._likeTableName;
			}
			set
			{
				this._likeTableName = value;
			}
		}

		// Token: 0x170004B5 RID: 1205
		// (get) Token: 0x06001709 RID: 5897 RVA: 0x003279F3 File Offset: 0x00325BF3
		// (set) Token: 0x06001708 RID: 5896 RVA: 0x003279EA File Offset: 0x00325BEA
		public virtual TObjectName TableComment
		{
			get
			{
				return this._tableComment;
			}
			set
			{
				this._tableComment = value;
			}
		}

		// Token: 0x170004B6 RID: 1206
		// (get) Token: 0x0600170B RID: 5899 RVA: 0x00327A04 File Offset: 0x00325C04
		// (set) Token: 0x0600170A RID: 5898 RVA: 0x003279FB File Offset: 0x00325BFB
		public virtual TObjectName TableLocation
		{
			get
			{
				return this._tableLocation;
			}
			set
			{
				this._tableLocation = value;
			}
		}

		// Token: 0x170004B7 RID: 1207
		// (get) Token: 0x0600170D RID: 5901 RVA: 0x00327A15 File Offset: 0x00325C15
		// (set) Token: 0x0600170C RID: 5900 RVA: 0x00327A0C File Offset: 0x00325C0C
		public virtual TObjectName RowTypeName
		{
			get
			{
				return this._rowTypeName;
			}
			set
			{
				this._rowTypeName = value;
			}
		}

		// Token: 0x170004B8 RID: 1208
		// (get) Token: 0x0600170F RID: 5903 RVA: 0x00327A26 File Offset: 0x00325C26
		// (set) Token: 0x0600170E RID: 5902 RVA: 0x00327A1D File Offset: 0x00325C1D
		public virtual TObjectName SuperTableName
		{
			get
			{
				return this._superTableName;
			}
			set
			{
				this._superTableName = value;
			}
		}

		// Token: 0x170004B9 RID: 1209
		// (get) Token: 0x06001711 RID: 5905 RVA: 0x00327A37 File Offset: 0x00325C37
		// (set) Token: 0x06001710 RID: 5904 RVA: 0x00327A2E File Offset: 0x00325C2E
		public virtual List<TMySQLCreateTableOption> MySQLTableOptionList
		{
			get
			{
				return this._mySQLTableOptionList;
			}
			set
			{
				this._mySQLTableOptionList = value;
			}
		}

		// Token: 0x170004BA RID: 1210
		// (get) Token: 0x06001713 RID: 5907 RVA: 0x00327A48 File Offset: 0x00325C48
		// (set) Token: 0x06001712 RID: 5906 RVA: 0x00327A3F File Offset: 0x00325C3F
		public virtual TTableElementList TableElementList
		{
			get
			{
				return this._tableElementList;
			}
			set
			{
				this._tableElementList = value;
			}
		}

		// Token: 0x170004BB RID: 1211
		// (get) Token: 0x06001714 RID: 5908 RVA: 0x00327A50 File Offset: 0x00325C50
		// (set) Token: 0x06001715 RID: 5909 RVA: 0x00327A58 File Offset: 0x00325C58
		public virtual TObjectNameList ColumnList
		{
			get
			{
				return this._columnList;
			}
			set
			{
				this._columnList = value;
			}
		}

		// Token: 0x170004BC RID: 1212
		// (get) Token: 0x06001716 RID: 5910 RVA: 0x00327A61 File Offset: 0x00325C61
		public virtual TTable Table
		{
			get
			{
				return this._table;
			}
		}

		// Token: 0x170004BD RID: 1213
		// (get) Token: 0x06001717 RID: 5911 RVA: 0x00327A69 File Offset: 0x00325C69
		// (set) Token: 0x06001718 RID: 5912 RVA: 0x00327A71 File Offset: 0x00325C71
		public virtual TSelectSqlNode SubQueryNode
		{
			get
			{
				return this._subQueryNode;
			}
			set
			{
				this._subQueryNode = value;
			}
		}

		// Token: 0x170004BE RID: 1214
		// (get) Token: 0x0600171A RID: 5914 RVA: 0x00327A83 File Offset: 0x00325C83
		// (set) Token: 0x06001719 RID: 5913 RVA: 0x00327A7A File Offset: 0x00325C7A
		public virtual TExecuteSqlNode ExecuteSqlNode
		{
			get
			{
				return this.executeSqlNode;
			}
			set
			{
				this.executeSqlNode = value;
			}
		}

		// Token: 0x0600171B RID: 5915 RVA: 0x00327A8C File Offset: 0x00325C8C
		public override void init(object arg1)
		{
			this._table = new TTable();
			((TObjectName)arg1).ObjectType = 3;
			this._table.TableName = (TObjectName)arg1;
			this._table.TableType = ETableSource.objectname;
			this._table.EffectType = ETableEffectType.tetCreate;
			this._table.GSharpSqlParser = ((TObjectName)arg1).GSharpSqlParser;
		}

		// Token: 0x040017D0 RID: 6096
		private List<TCreateTableOption> _tableOptions;

		// Token: 0x040017D1 RID: 6097
		public TDummy globalLocalTemp;

		// Token: 0x040017D2 RID: 6098
		private TTable _asTable;

		// Token: 0x040017D3 RID: 6099
		private bool _externalTable;

		// Token: 0x040017D4 RID: 6100
		private List<TIndexDefinition> _indexDefinitions;

		// Token: 0x040017D5 RID: 6101
		private bool _external;

		// Token: 0x040017D6 RID: 6102
		private bool _ifNotExists;

		// Token: 0x040017D7 RID: 6103
		private TObjectName _tableLocation;

		// Token: 0x040017D8 RID: 6104
		private TObjectName _tableComment;

		// Token: 0x040017D9 RID: 6105
		private THiveTableProperties _hiveTableProperties;

		// Token: 0x040017DA RID: 6106
		private THiveTablePartition _hiveTablePartition;

		// Token: 0x040017DB RID: 6107
		private THiveTableBuckets _hiveTableBuckets;

		// Token: 0x040017DC RID: 6108
		private THiveTableSkewed _hiveTableSkewed;

		// Token: 0x040017DD RID: 6109
		private THiveRowFormat _hiveRowFormat;

		// Token: 0x040017DE RID: 6110
		private THiveTableFileFormat _hiveTableFileFormat;

		// Token: 0x040017DF RID: 6111
		private TObjectName _likeTableName;

		// Token: 0x040017E0 RID: 6112
		private TObjectName _rowTypeName;

		// Token: 0x040017E1 RID: 6113
		private TObjectName _superTableName;

		// Token: 0x040017E2 RID: 6114
		private List<TMySQLCreateTableOption> _mySQLTableOptionList;

		// Token: 0x040017E3 RID: 6115
		private TTable _table;

		// Token: 0x040017E4 RID: 6116
		private TTableElementList _tableElementList;

		// Token: 0x040017E5 RID: 6117
		private TObjectNameList _columnList;

		// Token: 0x040017E6 RID: 6118
		private TSelectSqlNode _subQueryNode;

		// Token: 0x040017E7 RID: 6119
		private TExecuteSqlNode executeSqlNode;
	}
}
